package cn.itsource.ymcc.openfeign.fallbackfactory;


import cn.itsource.ymcc.domain.CourseDoc;
import cn.itsource.ymcc.openfeign.EsCourseOpenFeign;
import cn.itsource.ymcc.result.JsonResult;
import feign.hystrix.FallbackFactory;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
@Slf4j
public class EsCourseOpenFeignFallbackFactory implements FallbackFactory<EsCourseOpenFeign> {
    @Override
    public EsCourseOpenFeign create(Throwable throwable) {
        return new EsCourseOpenFeign() {
            @Override
            public JsonResult saveCourseDoc(List<CourseDoc> courseDocs) {
                throwable.printStackTrace();//打印错误日志  打印到控制台
                log.error(throwable.getMessage());//记录日志
                return JsonResult.error("服务超时");//如果出现错误就返回给调用方
            }

            @Override
            public JsonResult deleteCourseDoc(Long id) {
                throwable.printStackTrace();//打印错误日志  打印到控制台
                log.error(throwable.getMessage());//记录日志
                return JsonResult.error(throwable.getMessage());//如果出现错误就返回给调用方
            }

            @Override
            public JsonResult queryOne(Long id) {
                throwable.printStackTrace();//打印错误日志  打印到控制台
                log.error(throwable.getMessage());//记录日志
                return JsonResult.error(throwable.getMessage());//如果出现错误就返回给调用方
            }
        };
    }
}
